package com.tnl.app.service.impl;

import org.apache.commons.httpclient.Header;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.PostMethod;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;

import com.tnl.base.Const;

@Service
public class SMSService {
	private static final Logger logger = LoggerFactory.getLogger(SMSService.class);
	
	public String sendSMS(String phone, String code) throws Exception {
		
		HttpClient client = new HttpClient();
		PostMethod post = new PostMethod("http://sms.webchinese.cn/web_api/");
		post.addRequestHeader("Content-Type",
				"application/x-www-form-urlencoded;charset=gbk");// 在头文件中设置转码
		NameValuePair[] data = { new NameValuePair("Uid", Const.smsYRCUid), // 注册的用户名
				new NameValuePair("Key", Const.smsYRCKey), // 注册成功后,登录网站使用的密钥
				new NameValuePair("smsMob", phone), // 手机号码
				new NameValuePair("smsText", "您的验证码是"+code) };// 设置短信内容
		post.setRequestBody(data);

		client.executeMethod(post);
		Header[] headers = post.getResponseHeaders();
		int statusCode = post.getStatusCode();
		logger.debug("statusCode:" + statusCode);
		for (Header h : headers) {
			logger.debug(h.toString());
		}
		String result = new String(post.getResponseBodyAsString().getBytes(
				"gbk"));
		logger.debug("result" + result);
		post.releaseConnection();
		return result;
	}
	
	public String sendHunterOrderSMS(String phone, String month,String day,String desc,String url) throws Exception {
		
		HttpClient client = new HttpClient();
		PostMethod post = new PostMethod("http://sms.webchinese.cn/web_api/");
		post.addRequestHeader("Content-Type",
				"application/x-www-form-urlencoded;charset=gbk");// 在头文件中设置转码
		NameValuePair[] data = { new NameValuePair("Uid", Const.smsZDUid), // 注册的用户名
				new NameValuePair("Key", Const.smsZDKey), // 注册成功后,登录网站使用的密钥
				new NameValuePair("smsMob", phone), // 手机号码
				new NameValuePair("smsText", "顾问您好，有客户下单咨询您"+month+"月"+day+"日的"+desc+"服务，您可以点击链接查看并接单（链接："+url+"），如有问题，可联系18721386781。") };// 设置短信内容
		post.setRequestBody(data);

		client.executeMethod(post);
		Header[] headers = post.getResponseHeaders();
		int statusCode = post.getStatusCode();
		logger.debug("statusCode:" + statusCode);
		for (Header h : headers) {
			logger.debug(h.toString());
		}
		String result = new String(post.getResponseBodyAsString().getBytes(
				"gbk"));
		logger.debug("result" + result);
		post.releaseConnection();
		return result;
	}
	
	public static String sendOrdRemindSMS(String phone, String desc) throws Exception {
		
		HttpClient client = new HttpClient();
		PostMethod post = new PostMethod("http://sms.webchinese.cn/web_api/");
		post.addRequestHeader("Content-Type",
				"application/x-www-form-urlencoded;charset=gbk");// 在头文件中设置转码
		NameValuePair[] data = { new NameValuePair("Uid", Const.smsZDUid), // 注册的用户名
				new NameValuePair("Key", Const.smsZDKey), // 注册成功后,登录网站使用的密钥
				new NameValuePair("smsMob", phone), // 手机号码
				new NameValuePair("smsText", "顾问您好，有客户预约咨询您预约开放时间段是"+desc+"，微信公众号（headoffer会猎），如有问题，可联系18721386781。") };// 设置短信内容
		//new NameValuePair("smsText", "顾问您好，有候选人向您发起预约咨询，时间段为"+desc+"，您可至电脑端打开链接：https://www.tiaonali.com/hrplus开放该时间段，以便候选人下单。如有问题可联系客服18721386781。") };// 设置短信内容
		post.setRequestBody(data);

		client.executeMethod(post);
		Header[] headers = post.getResponseHeaders();
		int statusCode = post.getStatusCode();
		logger.debug("statusCode:" + statusCode);
		for (Header h : headers) {
			logger.debug(h.toString());
		}
		String result = new String(post.getResponseBodyAsString().getBytes(
				"gbk"));
		logger.debug("result" + result);
		post.releaseConnection();
		return result;
	}
	public String sendHunterOrderSMS2(String phone, String month,String day,String url) throws Exception {
		
		HttpClient client = new HttpClient();
		PostMethod post = new PostMethod("http://sms.webchinese.cn/web_api/");
		post.addRequestHeader("Content-Type",
				"application/x-www-form-urlencoded;charset=gbk");// 在头文件中设置转码
		NameValuePair[] data = { new NameValuePair("Uid", Const.smsZDUid), // 注册的用户名
				new NameValuePair("Key", Const.smsZDKey), // 注册成功后,登录网站使用的密钥
				new NameValuePair("smsMob", phone), // 手机号码
				new NameValuePair("smsText", "顾问您好，有客户预约咨询您"+month+"月"+day+"日的服务项目，您可以点击链接查看并接单（链接："+url+"），如有问题，可联系18721386781。") };// 设置短信内容
		post.setRequestBody(data);

		client.executeMethod(post);
		Header[] headers = post.getResponseHeaders();
		int statusCode = post.getStatusCode();
		logger.debug("statusCode:" + statusCode);
		for (Header h : headers) {
			logger.debug(h.toString());
		}
		String result = new String(post.getResponseBodyAsString().getBytes(
				"gbk"));
		logger.debug("result" + result);
		post.releaseConnection();
		return result;
	}
	
	public static void main(String[] args) {
		try {
			sendOrdRemindSMS("17521381014", "test");
			//sendHunterOrderSMS2("13611884993", "05","09","https://www.tiaonali.com");
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
}